package com.gfeeling.utils;

import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
/**
 * 使用apache的配置监控类，获取配置文件的动态变化
 *@author lsl 
 *@date 2016年7月4日
 *@comment 
 *@version 1.0
 */
public class PropertyApache {
	private static PropertyApache pa;
	private PropertyApache(){}
	public static PropertyApache getInstance() {
		if (pa == null)
			pa = new PropertyApache();
		return pa;
	}
	public String getProperty(String name) throws ConfigurationException{
		Configuration	config = new PropertiesConfiguration("config.properties");  
		//再举个Configuration的比较实用的方法吧,在读取配置文件的时候有可能这个键值对应的值为空，那么在下面这个方法中  
		//你就可以为它设置默认值。比如下面这个例子就会在test.properties这个文件中找id的值，如果找不到就会给id设置值为123  
		//这样就保证了java的包装类不会返回空值。虽然功能很简单，但是很方便很实用。  
		//Integer id=config.getInteger("id", new Integer(123));  
		//如果在properties 文件中有如下属性keys=cn,com,org,uk,edu,jp,hk  
		//可以实用下面的方式读取：  
        //String[] keys1=config.getStringArray("keys");  
       //List keys2=config.getList("keys"); 
		return config.getString(name);
	}
}
